package com.yuyou.fn.crm.service;

import com.github.wens.framework.service.ISuperService;
import com.github.wens.mybatisplus.plugins.Page;
import com.yuyou.fn.crm.entity.CrmStudentCommunicate;
import com.yuyou.fn.crm.vo.CommunicateSituationQueryVo;
import com.yuyou.fn.crm.vo.CommunicateSituationVo;
import com.yuyou.fn.crm.vo.CrmStudentCommunicateQueryVo;
import com.yuyou.fn.report.entity.MergeStudentRegDetail;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;

import java.util.Date;
import java.util.List;

/**
 *
 * CrmStudentCommunicate 表数据服务层接口
 *
 */
public interface ICrmStudentCommunicateService extends ISuperService<CrmStudentCommunicate,Long> {

    Page<CrmStudentCommunicate> findCommunicatePageByQueryVo(CrmStudentCommunicateQueryVo crmStudentCommunicateQueryVo,int pageNo,int pageSize);

    SXSSFWorkbook exportStudentCommunicate(CrmStudentCommunicateQueryVo crmStudentCommunicateQueryVo);

    List<CrmStudentCommunicate> findCommunicateListByQueryVo(CrmStudentCommunicateQueryVo crmStudentCommunicateQueryVo);


    CrmStudentCommunicate findByQueryVo(CrmStudentCommunicateQueryVo crmStudentCommunicateQueryVo);

    Long countCommunicateByQueryVo(CrmStudentCommunicateQueryVo crmStudentCommunicateQueryVo);

    List<MergeStudentRegDetail> findStudentRegByCommunicateId(Long studentCommunicateId);

    Page<CommunicateSituationVo> findCommunicateSituation(CommunicateSituationQueryVo communicateSitutationQueryVo, int pageNo, int pageSize);

    SXSSFWorkbook exportCommunicateSituation(CommunicateSituationQueryVo communicateSituationQueryVo);

    void updateCrmStudentCommunicateBatch(List<CrmStudentCommunicate> crmStudentCommunicates);
}